package com.wgl.yygh.serivice;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wgl.model.user.UserInfo;
import com.wgl.model.vo.user.LoginVo;
import com.wgl.model.vo.user.UserAuthVo;
import com.wgl.model.vo.user.UserInfoQueryVo;

import java.util.List;
import java.util.Map;

/**
 * @author wgl
 * @version 1.0.0
 * @ClassName UserInfoSerivce.java
 * @Description TODO
 * @createTime 2022年02月09日 14:10:00
 */
public interface UserInfoService extends IService<UserInfo> {
    /**
    * @Author: Wgl
    * @Description: 用户登录
    * @Date: 2022/2/9 14:22;
    * @param loginVo: ;
    * @return: java.util.Map<java.lang.String,java.lang.Object>;
    */
    Map<String, Object> loginUser(LoginVo loginVo);
    /**
    * @Author: Wgl
    * @Description: 用户认证
    * @Date: 2022/2/10 15:49;
    * @param userId:
     * @param userAuthVo: ;
    * @return: void;
    */
    void userAuth(Long userId, UserAuthVo userAuthVo);
   /**
   * @Author: Wgl
   * @Description:管理员分页查询用户
   * @Date: 2022/2/12 20:01;
   * @param page1:
    * @param userInfoQueryVo: ;
   * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.wgl.model.user.UserInfo>;
   */
    IPage<UserInfo> selectPage(Page<UserInfo> page1, UserInfoQueryVo userInfoQueryVo);
    /**
    * @Author: Wgl
    * @Description: 锁定/解锁用户
    * @Date: 2022/2/12 23:04;
    * @param userId:
     * @param status: ;
    * @return: void;
    */
    void lock(Long userId, Integer status);

    /**
    * @Author: Wgl
    * @Description: 查询用户详情
    * @Date: 2022/2/12 23:15;
    * @param userId: ;
    * @return: java.util.Map<java.lang.String,java.lang.Object>;
    */
    Map<String, Object> show(Long userId);
    /**
    * @Author: Wgl
    * @Description: 审核用户
    * @Date: 2022/2/12 23:30;
    * @param userId:
     * @param authStatus: ;
    * @return: void;
    */
    void approval(Long userId, Integer authStatus);
}
